package com.yunkeji.system.domain.bo;

import com.yunkeji.common.core.domain.BaseEntity;
import com.yunkeji.common.core.validate.AddGroup;
import com.yunkeji.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * 关注-粉丝业务对象 ykj_pay_log
 *
 * @author zhang
 * @date 2024-07-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PayLogBo extends BaseEntity {

    /** 自增主键 */
    @NotNull(
            message = "自增主键不能为空",
            groups = {EditGroup.class})
    private Long id;

    /** 用户ID */
    @NotNull(
            message = "用户ID不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private Long userId;

    /** 日志类型(充值,提现,语音收益) */
    @NotNull(
            message = "日志类型(充值,提现,语音收益)不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private List<Integer> logType;

    /** 符号(+,-) */
    @NotBlank(
            message = "符号(+,-)不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private String symbol;

    /** 余额类型(1金币,2钻石) */
    @NotNull(
            message = "余额类型(1金币,2钻石)不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private Integer balanceType;

    /** 备注 */
    @NotBlank(
            message = "备注不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private String remark;

    /** 变更数量 */
    @NotNull(
            message = "变更数量不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private BigDecimal changeNum;

    /** 创建日期 */
    @NotNull(
            message = "创建日期不能为空",
            groups = {AddGroup.class, EditGroup.class})
    private Long logDate;

    /** 爱洞ID */
    private Long platformId;
}
